using System;

namespace Sagile.Nepma
{
    /// <summary>
    /// This class contains arguments for the <see cref="IProgressReporter.TaskProgressChanged"/> event.
    /// </summary>
    public class TaskProgressChangedEventArgs : EventArgs
    {
        #region Attributes
        
        private double _progress;
        private string _taskId;

        #endregion Attributes
        
        #region Properties

        /// <summary>
        /// Gets or sets the progress.
        /// </summary>
        /// <value>The progress.</value>
        public double Progress
        {
            get { return _progress; }
            set { _progress = value; }
        }

        /// <summary>
        /// Gets or sets the task id.
        /// </summary>
        /// <value>The task id.</value>
        public string TaskId
        {
            get { return _taskId; }
            set { _taskId = value; }
        }

        #endregion Properties

        #region Constructor

        /// <summary>
        /// Initializes a new instance of the <see cref="TaskProgressChangedEventArgs"/> class.
        /// </summary>
        /// <param name="taskId">The task id.</param>
        /// <param name="progress">The progress.</param>
        public TaskProgressChangedEventArgs(string taskId, double progress)
        {
            _taskId = taskId;
            _progress = progress;
        }

        #endregion Constructor
    }
}
